# -*- coding:utf-8 -*-
#! python3

# FaceCat-Python
#Shanghai JuanJuanMao Information Technology Co., Ltd 

from facecat_pygv import *
import sys

#视图的鼠标按下方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseDown(view, mp, buttons, clicks, delta):
	if view.viewType == "chart":
		if len(view.addingPlot) > 0:
			invalidateView(view)
			addPlotDefault(view, True, mp, False, mp)
			view.addingPlot = ""
		else:
			touchDownChart(view, True, mp, False, mp)
			invalidateView(view)
	else:
		onMouseDownDefault(view, mp, buttons, clicks, delta)

#视图的鼠标点击方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onClick(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks):
	onClickDefault(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks)
	global tChart
	if view.viewName == "Indicator":
		if view.text == "BOLL" or view.text == "MA":
			tChart.mainIndicator = view.text
		else:
			tChart.showIndicator = view.text
		calcChartIndicator(tChart)
		tabView2 = view.parent.parent.parent
		selectTabPage(tabView2, tabView2.tabPages[0])
		invalidate(view.paint)
	elif view.viewName == "Plot":
		tChart.addingPlot = view.text
		tabView3 = view.parent.parent.parent
		selectTabPage(tabView3, tabView3.tabPages[0])
		invalidate(view.paint)

#图表的黑色风格
def chartToBlack(chart):
	chart.backColor = "rgb(0,0,0)"
	chart.borderColor = "rgb(100,100,100)"
	chart.textColor = "rgb(255,255,255)"
	chart.scaleColor = "rgb(100,100,100)"
	chart.crossTipColor = "rgb(50,50,50)"
	chart.crossLineColor = "rgb(100,100,100)"
	chart.gridColor = "rgba(100,100,100,125)"
	chart.indicatorColors = []
	chart.indicatorColors.append("rgb(255,255,255)")
	chart.indicatorColors.append("rgb(255,255,0)")
	chart.indicatorColors.append("rgb(255,0,255)")
	chart.indicatorColors.append("rgb(255,0,0)")
	chart.indicatorColors.append("rgb(0,255,255)")
	chart.indicatorColors.append("rgb(0,255,0)")
	chart.indicatorColors.append("rgb(255,255,0)")
	chart.indicatorColors.append("rgb(255,255,255)")

gPaint = FCPaint() #创建绘图对象
gPaint.onMouseDown = onMouseDown 
gPaint.onClick = onClick
tChart = None

def loadXml():
	xml = """<?xml version="1.0" encoding="utf-8"?>
	<html xmlns="facecat">
	<head>
	</head>
	<body>
		<div dock="fill" type="tab" selectedindex="0" name="TabView">
		<div name="TabPage" text="可视化生成" type="tabpage">
			<chart size="200,200" name="Chart" text="Chart" location="212,164" dock="Fill">
			</chart>
		</div>
		<div name="TabPage2" text="指标" type="tabpage" />
		<div name="TabPage3" text="画线" type="tabpage" />
		</div>
	</body>
	</html>
	"""
	renderFaceCat(gPaint, xml)
	securityDatas = []
	sData1 = SecurityData()
	sData1.volume = 78469.756458
	sData1.close = 15684.25
	sData1.high = 15965.01
	sData1.low = 15272.69
	sData1.open = 15297.22
	sData1.date = 1605052800.0
	securityDatas.append(sData1)
	sData2 = SecurityData()
	sData2.volume = 102196.366592
	sData2.close = 16291.87
	sData2.high = 16340.71
	sData2.low = 15440.65
	sData2.open = 15684.26
	sData2.date = 1605139200.0
	securityDatas.append(sData2)
	sData3 = SecurityData()
	sData3.volume = 75691.891014
	sData3.close = 16320.71
	sData3.high = 16480.01
	sData3.low = 15952.36
	sData3.open = 16291.86
	sData3.date = 1605225600.0
	securityDatas.append(sData3)
	sData4 = SecurityData()
	sData4.volume = 59116.357179
	sData4.close = 16070.46
	sData4.high = 16327.0
	sData4.low = 15670.01
	sData4.open = 16320.05
	sData4.date = 1605312000.0
	securityDatas.append(sData4)
	sData5 = SecurityData()
	sData5.volume = 43596.851513
	sData5.close = 15957.01
	sData5.high = 16180.01
	sData5.low = 15774.73
	sData5.open = 16069.57
	sData5.date = 1605398400.0
	securityDatas.append(sData5)
	sData6 = SecurityData()
	sData6.volume = 81300.685924
	sData6.close = 16713.58
	sData6.high = 16880.01
	sData6.low = 15864.01
	sData6.open = 15957.01
	sData6.date = 1605484800.0
	securityDatas.append(sData6)
	sData7 = SecurityData()
	sData7.volume = 115192.02613
	sData7.close = 17659.39
	sData7.high = 17858.83
	sData7.low = 16538.01
	sData7.open = 16713.09
	sData7.date = 1605571200.0
	securityDatas.append(sData7)
	sData8 = SecurityData()
	sData8.volume = 141984.264415
	sData8.close = 17776.13
	sData8.high = 18476.94
	sData8.low = 17222.01
	sData8.open = 17659.39
	sData8.date = 1605657600.0
	securityDatas.append(sData8)
	sData9 = SecurityData()
	sData9.volume = 93009.571008
	sData9.close = 17802.83
	sData9.high = 18179.81
	sData9.low = 17335.66
	sData9.open = 17777.76
	sData9.date = 1605744000.0
	securityDatas.append(sData9)
	sData10 = SecurityData()
	sData10.volume = 88423.028489
	sData10.close = 18655.68
	sData10.high = 18815.23
	sData10.low = 17740.05
	sData10.open = 17802.82
	sData10.date = 1605830400.0
	securityDatas.append(sData10)
	sData11 = SecurityData()
	sData11.volume = 71308.137138
	sData11.close = 18703.81
	sData11.high = 18965.91
	sData11.low = 18308.59
	sData11.open = 18655.67
	sData11.date = 1605916800.0
	securityDatas.append(sData11)
	sData12 = SecurityData()
	sData12.volume = 74492.806006
	sData12.close = 18414.61
	sData12.high = 18750.01
	sData12.low = 17699.8
	sData12.open = 18703.81
	sData12.date = 1606003200.0
	securityDatas.append(sData12)
	sData13 = SecurityData()
	sData13.volume = 74179.661546
	sData13.close = 18368.01
	sData13.high = 18766.01
	sData13.low = 18000.01
	sData13.open = 18413.89
	sData13.date = 1606089600.0
	securityDatas.append(sData13)
	sData14 = SecurityData()
	sData14.volume = 70126.693681
	sData14.close = 19160.02
	sData14.high = 19410.0
	sData14.low = 18207.99
	sData14.open = 18368.02
	sData14.date = 1606176000.0
	securityDatas.append(sData14)
	sData15 = SecurityData()
	sData15.volume = 70760.56353
	sData15.close = 18719.12
	sData15.high = 19444.01
	sData15.low = 18570.01
	sData15.open = 19160.01
	sData15.date = 1606262400.0
	securityDatas.append(sData15)
	sData16 = SecurityData()
	sData16.volume = 102420.321403
	sData16.close = 17149.48
	sData16.high = 18915.04
	sData16.low = 16188.01
	sData16.open = 18718.84
	sData16.date = 1606348800.0
	securityDatas.append(sData16)
	sData17 = SecurityData()
	sData17.volume = 84036.578341
	sData17.close = 17139.53
	sData17.high = 17457.63
	sData17.low = 16438.09
	sData17.open = 17149.48
	sData17.date = 1606435200.0
	securityDatas.append(sData17)
	sData18 = SecurityData()
	sData18.volume = 60835.734083
	sData18.close = 17719.86
	sData18.high = 17880.5
	sData18.low = 16865.57
	sData18.open = 17139.54
	sData18.date = 1606521600.0
	securityDatas.append(sData18)
	sData19 = SecurityData()
	sData19.volume = 55329.026303
	sData19.close = 18185.0
	sData19.high = 18360.06
	sData19.low = 17517.01
	sData19.open = 17719.85
	sData19.date = 1606608000.0
	securityDatas.append(sData19)
	sData20 = SecurityData()
	sData20.volume = 96227.350495
	sData20.close = 19695.88
	sData20.high = 19777.04
	sData20.low = 18185.0
	sData20.open = 18185.01
	sData20.date = 1606694400.0
	securityDatas.append(sData20)
	sData21 = SecurityData()
	sData21.volume = 100331.141203
	sData21.close = 18764.97
	sData21.high = 19888.01
	sData21.low = 18350.0
	sData21.open = 19695.88
	sData21.date = 1606780800.0
	securityDatas.append(sData21)
	sData22 = SecurityData()
	sData22.volume = 75848.875728
	sData22.close = 19204.1
	sData22.high = 19342.01
	sData22.low = 18330.01
	sData22.open = 18764.97
	sData22.date = 1606867200.0
	securityDatas.append(sData22)
	sData23 = SecurityData()
	sData23.volume = 64987.682732
	sData23.close = 19421.91
	sData23.high = 19598.01
	sData23.low = 18867.21
	sData23.open = 19204.09
	sData23.date = 1606953600.0
	securityDatas.append(sData23)
	sData24 = SecurityData()
	sData24.volume = 65481.220724
	sData24.close = 18650.53
	sData24.high = 19527.01
	sData24.low = 18565.32
	sData24.open = 19422.35
	sData24.date = 1607040000.0
	securityDatas.append(sData24)
	sData25 = SecurityData()
	sData25.volume = 42922.758573
	sData25.close = 19147.67
	sData25.high = 19177.01
	sData25.low = 18500.01
	sData25.open = 18650.52
	sData25.date = 1607126400.0
	securityDatas.append(sData25)
	sData26 = SecurityData()
	sData26.volume = 37043.101861
	sData26.close = 19359.41
	sData26.high = 19420.01
	sData26.low = 18857.01
	sData26.open = 19147.67
	sData26.date = 1607212800.0
	securityDatas.append(sData26)
	sData27 = SecurityData()
	sData27.volume = 40833.661907
	sData27.close = 19166.91
	sData27.high = 19420.92
	sData27.low = 18902.89
	sData27.open = 19358.68
	sData27.date = 1607299200.0
	securityDatas.append(sData27)
	sData28 = SecurityData()
	sData28.volume = 56080.515386
	sData28.close = 18324.12
	sData28.high = 19294.85
	sData28.low = 18200.01
	sData28.open = 19166.91
	sData28.date = 1607385600.0
	securityDatas.append(sData28)
	sData29 = SecurityData()
	sData29.volume = 75498.213856
	sData29.close = 18541.29
	sData29.high = 18639.58
	sData29.low = 17650.01
	sData29.open = 18324.12
	sData29.date = 1607472000.0
	securityDatas.append(sData29)
	sData30 = SecurityData()
	sData30.volume = 52890.685094
	sData30.close = 18254.64
	sData30.high = 18557.33
	sData30.low = 17911.13
	sData30.open = 18541.3
	sData30.date = 1607558400.0
	securityDatas.append(sData30)
	sData31 = SecurityData()
	sData31.volume = 72610.734259
	sData31.close = 18036.54
	sData31.high = 18292.74
	sData31.low = 17572.34
	sData31.open = 18254.82
	sData31.date = 1607644800.0
	securityDatas.append(sData31)
	sData32 = SecurityData()
	sData32.volume = 47592.761572
	sData32.close = 18808.7
	sData32.high = 18948.67
	sData32.low = 18020.71
	sData32.open = 18036.54
	sData32.date = 1607731200.0
	securityDatas.append(sData32)
	sData33 = SecurityData()
	sData33.volume = 56560.831744
	sData33.close = 19175.0
	sData33.high = 19411.01
	sData33.low = 18711.13
	sData33.open = 18808.7
	sData33.date = 1607817600.0
	securityDatas.append(sData33)
	sData34 = SecurityData()
	sData34.volume = 47257.211294
	sData34.close = 19273.15
	sData34.high = 19349.01
	sData34.low = 19000.01
	sData34.open = 19175.0
	sData34.date = 1607904000.0
	securityDatas.append(sData34)
	sData35 = SecurityData()
	sData35.volume = 61792.483421
	sData35.close = 19426.44
	sData35.high = 19570.01
	sData35.low = 19050.01
	sData35.open = 19273.7
	sData35.date = 1607990400.0
	securityDatas.append(sData35)
	sData36 = SecurityData()
	sData36.volume = 97061.040854
	sData36.close = 21335.53
	sData36.high = 21560.01
	sData36.low = 19278.61
	sData36.open = 19426.44
	sData36.date = 1608076800.0
	securityDatas.append(sData36)
	sData37 = SecurityData()
	sData37.volume = 148769.444419
	sData37.close = 22808.99
	sData37.high = 23699.71
	sData37.low = 21233.01
	sData37.open = 21335.53
	sData37.date = 1608163200.0
	securityDatas.append(sData37)
	sData38 = SecurityData()
	sData38.volume = 79646.144315
	sData38.close = 23107.4
	sData38.high = 23285.19
	sData38.low = 22350.01
	sData38.open = 22797.16
	sData38.date = 1608249600.0
	securityDatas.append(sData38)
	sData39 = SecurityData()
	sData39.volume = 82430.712232
	sData39.close = 23821.62
	sData39.high = 24171.48
	sData39.low = 22750.01
	sData39.open = 23107.4
	sData39.date = 1608336000.0
	securityDatas.append(sData39)
	sData40 = SecurityData()
	sData40.volume = 74797.201958
	sData40.close = 23455.53
	sData40.high = 24295.01
	sData40.low = 23060.01
	sData40.open = 23821.61
	sData40.date = 1608422400.0
	securityDatas.append(sData40)
	sData41 = SecurityData()
	sData41.volume = 83424.441428
	sData41.close = 22719.72
	sData41.high = 24102.78
	sData41.low = 21815.01
	sData41.open = 23455.55
	sData41.date = 1608508800.0
	securityDatas.append(sData41)
	sData42 = SecurityData()
	sData42.volume = 87033.13616
	sData42.close = 23810.8
	sData42.high = 23837.11
	sData42.low = 22353.41
	sData42.open = 22719.89
	sData42.date = 1608595200.0
	securityDatas.append(sData42)
	sData43 = SecurityData()
	sData43.volume = 112830.021287
	sData43.close = 23232.77
	sData43.high = 24100.01
	sData43.low = 22810.01
	sData43.open = 23810.8
	sData43.date = 1608681600.0
	securityDatas.append(sData43)
	sData44 = SecurityData()
	sData44.volume = 69013.844252
	sData44.close = 23729.21
	sData44.high = 23794.44
	sData44.low = 22703.43
	sData44.open = 23232.4
	sData44.date = 1608768000.0
	securityDatas.append(sData44)
	sData45 = SecurityData()
	sData45.volume = 78024.251646
	sData45.close = 24712.48
	sData45.high = 24789.87
	sData45.low = 23434.74
	sData45.open = 23729.0
	sData45.date = 1608854400.0
	securityDatas.append(sData45)
	sData46 = SecurityData()
	sData46.volume = 97806.523386
	sData46.close = 26493.4
	sData46.high = 26867.04
	sData46.low = 24500.01
	sData46.open = 24712.48
	sData46.date = 1608940800.0
	securityDatas.append(sData46)
	sData47 = SecurityData()
	sData47.volume = 145880.8092
	sData47.close = 26281.67
	sData47.high = 28422.01
	sData47.low = 25700.01
	sData47.open = 26493.41
	sData47.date = 1609027200.0
	securityDatas.append(sData47)
	sData48 = SecurityData()
	sData48.volume = 79408.740817
	sData48.close = 27079.42
	sData48.high = 27500.01
	sData48.low = 26101.01
	sData48.open = 26281.55
	sData48.date = 1609113600.0
	securityDatas.append(sData48)
	sData49 = SecurityData()
	sData49.volume = 69255.341092
	sData49.close = 27385.01
	sData49.high = 27410.01
	sData49.low = 25880.01
	sData49.open = 27079.43
	sData49.date = 1609200000.0
	securityDatas.append(sData49)
	sData50 = SecurityData()
	sData50.volume = 95356.067826
	sData50.close = 28875.55
	sData50.high = 28996.01
	sData50.low = 27320.01
	sData50.open = 27385.01
	sData50.date = 1609286400.0
	securityDatas.append(sData50)
	sData51 = SecurityData()
	sData51.volume = 75491.419522
	sData51.close = 28923.64
	sData51.high = 29300.01
	sData51.low = 27850.01
	sData51.open = 28875.56
	sData51.date = 1609372800.0
	securityDatas.append(sData51)
	sData52 = SecurityData()
	sData52.volume = 54134.113624
	sData52.close = 29331.7
	sData52.high = 29600.01
	sData52.low = 28624.58
	sData52.open = 28923.64
	sData52.date = 1609459200.0
	securityDatas.append(sData52)
	sData53 = SecurityData()
	sData53.volume = 126100.088124
	sData53.close = 32178.34
	sData53.high = 33300.01
	sData53.low = 28946.54
	sData53.open = 29331.71
	sData53.date = 1609545600.0
	securityDatas.append(sData53)
	sData54 = SecurityData()
	sData54.volume = 110771.806254
	sData54.close = 33000.06
	sData54.high = 34778.12
	sData54.low = 31963.0
	sData54.open = 32176.46
	sData54.date = 1609632000.0
	securityDatas.append(sData54)
	sData55 = SecurityData()
	sData55.volume = 121030.155465
	sData55.close = 31988.72
	sData55.high = 33600.01
	sData55.low = 28130.01
	sData55.open = 33000.06
	sData55.date = 1609718400.0
	securityDatas.append(sData55)
	sData56 = SecurityData()
	sData56.volume = 111890.475678
	sData56.close = 33949.54
	sData56.high = 34360.01
	sData56.low = 29900.01
	sData56.open = 31989.76
	sData56.date = 1609804800.0
	securityDatas.append(sData56)
	sData57 = SecurityData()
	sData57.volume = 116093.037717
	sData57.close = 36769.37
	sData57.high = 36939.22
	sData57.low = 33288.01
	sData57.open = 33949.54
	sData57.date = 1609891200.0
	securityDatas.append(sData57)
	sData58 = SecurityData()
	sData58.volume = 121506.449096
	sData58.close = 39432.29
	sData58.high = 40365.01
	sData58.low = 36300.01
	sData58.open = 36769.37
	sData58.date = 1609977600.0
	securityDatas.append(sData58)
	sData59 = SecurityData()
	sData59.volume = 138625.042444
	sData59.close = 40582.82
	sData59.high = 41950.01
	sData59.low = 36500.01
	sData59.open = 39432.49
	sData59.date = 1610064000.0
	securityDatas.append(sData59)
	sData60 = SecurityData()
	sData60.volume = 75785.989675
	sData60.close = 40088.23
	sData60.high = 41380.01
	sData60.low = 38720.01
	sData60.open = 40586.97
	sData60.date = 1610150400.0
	securityDatas.append(sData60)
	sData61 = SecurityData()
	sData61.volume = 112638.990321
	sData61.close = 38150.03
	sData61.high = 41350.01
	sData61.low = 35111.12
	sData61.open = 40088.23
	sData61.date = 1610236800.0
	securityDatas.append(sData61)
	sData62 = SecurityData()
	sData62.volume = 231175.583454
	sData62.close = 35404.48
	sData62.high = 38264.75
	sData62.low = 30420.01
	sData62.open = 38150.03
	sData62.date = 1610323200.0
	securityDatas.append(sData62)
	sData63 = SecurityData()
	sData63.volume = 133948.161996
	sData63.close = 34051.25
	sData63.high = 36628.01
	sData63.low = 32531.01
	sData63.open = 35410.38
	sData63.date = 1610409600.0
	securityDatas.append(sData63)
	sData64 = SecurityData()
	sData64.volume = 124477.924938
	sData64.close = 37371.39
	sData64.high = 37850.01
	sData64.low = 32380.01
	sData64.open = 34049.16
	sData64.date = 1610496000.0
	securityDatas.append(sData64)
	sData65 = SecurityData()
	sData65.volume = 102950.399421
	sData65.close = 39144.51
	sData65.high = 40100.01
	sData65.low = 36701.24
	sData65.open = 37371.39
	sData65.date = 1610582400.0
	securityDatas.append(sData65)
	sData66 = SecurityData()
	sData66.volume = 111365.804668
	sData66.close = 36742.23
	sData66.high = 39747.77
	sData66.low = 34538.89
	sData66.open = 39145.22
	sData66.date = 1610668800.0
	securityDatas.append(sData66)
	sData67 = SecurityData()
	sData67.volume = 86348.441508
	sData67.close = 35994.99
	sData67.high = 37950.01
	sData67.low = 35357.81
	sData67.open = 36737.44
	sData67.date = 1610755200.0
	securityDatas.append(sData67)
	sData68 = SecurityData()
	sData68.volume = 80157.737384
	sData68.close = 35828.62
	sData68.high = 36852.51
	sData68.low = 33850.01
	sData68.open = 35994.99
	sData68.date = 1610841600.0
	securityDatas.append(sData68)
	sData69 = SecurityData()
	sData69.volume = 70693.90404
	sData69.close = 36631.28
	sData69.high = 37469.84
	sData69.low = 34800.01
	sData69.open = 35825.0
	sData69.date = 1610928000.0
	securityDatas.append(sData69)
	sData70 = SecurityData()
	sData70.volume = 79596.541309
	sData70.close = 35891.5
	sData70.high = 37850.01
	sData70.low = 35844.07
	sData70.open = 36622.47
	sData70.date = 1611014400.0
	securityDatas.append(sData70)
	sData71 = SecurityData()
	sData71.volume = 89368.432918
	sData71.close = 35468.24
	sData71.high = 36415.32
	sData71.low = 33400.01
	sData71.open = 35901.95
	sData71.date = 1611100800.0
	securityDatas.append(sData71)
	sData72 = SecurityData()
	sData72.volume = 134548.811336
	sData72.close = 30850.14
	sData72.high = 35600.01
	sData72.low = 30071.01
	sData72.open = 35468.24
	sData72.date = 1611187200.0
	securityDatas.append(sData72)
	sData73 = SecurityData()
	sData73.volume = 138345.853436
	sData73.close = 32945.18
	sData73.high = 33826.54
	sData73.low = 28850.01
	sData73.open = 30852.0
	sData73.date = 1611273600.0
	securityDatas.append(sData73)
	sData74 = SecurityData()
	sData74.volume = 64595.297675
	sData74.close = 32078.01
	sData74.high = 33456.01
	sData74.low = 31390.17
	sData74.open = 32950.01
	sData74.date = 1611360000.0
	securityDatas.append(sData74)
	sData75 = SecurityData()
	sData75.volume = 57978.047966
	sData75.close = 32259.91
	sData75.high = 33071.01
	sData75.low = 30900.01
	sData75.open = 32078.01
	sData75.date = 1611446400.0
	securityDatas.append(sData75)
	sData76 = SecurityData()
	sData76.volume = 88499.236921
	sData76.close = 32254.21
	sData76.high = 34875.01
	sData76.low = 31910.01
	sData76.open = 32259.46
	sData76.date = 1611532800.0
	securityDatas.append(sData76)
	sData77 = SecurityData()
	sData77.volume = 84866.207055
	sData77.close = 32467.78
	sData77.high = 32921.89
	sData77.low = 30837.38
	sData77.open = 32254.2
	sData77.date = 1611619200.0
	securityDatas.append(sData77)
	sData78 = SecurityData()
	sData78.volume = 95911.971711
	sData78.close = 30366.16
	sData78.high = 32557.3
	sData78.low = 29241.73
	sData78.open = 32464.02
	sData78.date = 1611705600.0
	securityDatas.append(sData78)
	sData79 = SecurityData()
	sData79.volume = 92621.155617
	sData79.close = 33364.87
	sData79.high = 33783.99
	sData79.low = 29842.11
	sData79.open = 30362.2
	sData79.date = 1611792000.0
	securityDatas.append(sData79)
	sData80 = SecurityData()
	sData80.volume = 193388.622446
	sData80.close = 34252.21
	sData80.high = 38531.91
	sData80.low = 31915.41
	sData80.open = 33368.19
	sData80.date = 1611878400.0
	securityDatas.append(sData80)
	sData81 = SecurityData()
	sData81.volume = 82674.758249
	sData81.close = 34262.89
	sData81.high = 34933.01
	sData81.low = 32825.01
	sData81.open = 34246.29
	sData81.date = 1611964800.0
	securityDatas.append(sData81)
	sData82 = SecurityData()
	sData82.volume = 66269.928016
	sData82.close = 33092.99
	sData82.high = 34342.7
	sData82.low = 32171.68
	sData82.open = 34262.9
	sData82.date = 1612051200.0
	securityDatas.append(sData82)
	sData83 = SecurityData()
	sData83.volume = 80154.567802
	sData83.close = 33526.38
	sData83.high = 34717.28
	sData83.low = 32296.17
	sData83.open = 33089.45
	sData83.date = 1612137600.0
	securityDatas.append(sData83)
	sData84 = SecurityData()
	sData84.volume = 78056.66988
	sData84.close = 35466.25
	sData84.high = 35984.34
	sData84.low = 33418.01
	sData84.open = 33517.1
	sData84.date = 1612224000.0
	securityDatas.append(sData84)
	sData85 = SecurityData()
	sData85.volume = 80784.343663
	sData85.close = 37618.88
	sData85.high = 37662.64
	sData85.low = 35362.39
	sData85.open = 35472.72
	sData85.date = 1612310400.0
	securityDatas.append(sData85)
	sData86 = SecurityData()
	sData86.volume = 89024.320756
	sData86.close = 36936.67
	sData86.high = 38708.28
	sData86.low = 36161.96
	sData86.open = 37620.27
	sData86.date = 1612396800.0
	securityDatas.append(sData86)
	sData87 = SecurityData()
	sData87.volume = 65910.531514
	sData87.close = 38290.25
	sData87.high = 38310.13
	sData87.low = 36570.01
	sData87.open = 36936.66
	sData87.date = 1612483200.0
	securityDatas.append(sData87)
	sData88 = SecurityData()
	sData88.volume = 94232.612846
	sData88.close = 39186.95
	sData88.high = 40955.52
	sData88.low = 38215.95
	sData88.open = 38289.33
	sData88.date = 1612569600.0
	securityDatas.append(sData88)
	sData89 = SecurityData()
	sData89.volume = 81820.439177
	sData89.close = 38795.7
	sData89.high = 39700.01
	sData89.low = 37351.01
	sData89.open = 39181.02
	sData89.date = 1612656000.0
	securityDatas.append(sData89)
	sData90 = SecurityData()
	sData90.volume = 121568.794672
	sData90.close = 46374.88
	sData90.high = 46794.46
	sData90.low = 37988.9
	sData90.open = 38795.7
	sData90.date = 1612742400.0
	securityDatas.append(sData90)
	sData91 = SecurityData()
	sData91.volume = 114567.009318
	sData91.close = 46420.43
	sData91.high = 48142.2
	sData91.low = 44961.1
	sData91.open = 46374.87
	sData91.date = 1612828800.0
	securityDatas.append(sData91)
	sData92 = SecurityData()
	sData92.volume = 78292.89657
	sData92.close = 44807.59
	sData92.high = 47310.01
	sData92.low = 43800.01
	sData92.open = 46420.43
	sData92.date = 1612915200.0
	securityDatas.append(sData92)
	sData93 = SecurityData()
	sData93.volume = 81033.184776
	sData93.close = 47969.52
	sData93.high = 48678.91
	sData93.low = 43994.03
	sData93.open = 44807.59
	sData93.date = 1613001600.0
	securityDatas.append(sData93)
	sData94 = SecurityData()
	sData94.volume = 81856.490636
	sData94.close = 47287.61
	sData94.high = 48985.81
	sData94.low = 46400.01
	sData94.open = 47968.67
	sData94.date = 1613088000.0
	securityDatas.append(sData94)
	sData95 = SecurityData()
	sData95.volume = 58937.84066
	sData95.close = 47153.7
	sData95.high = 48150.01
	sData95.low = 46202.54
	sData95.open = 47298.16
	sData95.date = 1613174400.0
	securityDatas.append(sData95)
	sData96 = SecurityData()
	sData96.volume = 70700.864117
	sData96.close = 48577.8
	sData96.high = 49707.44
	sData96.low = 47014.18
	sData96.open = 47156.79
	sData96.date = 1613260800.0
	securityDatas.append(sData96)
	sData97 = SecurityData()
	sData97.volume = 63227.659425
	sData97.close = 47911.11
	sData97.high = 49010.93
	sData97.low = 46174.79
	sData97.open = 48580.48
	sData97.date = 1613347200.0
	securityDatas.append(sData97)
	sData98 = SecurityData()
	sData98.volume = 78018.176005
	sData98.close = 49133.46
	sData98.high = 50080.22
	sData98.low = 47003.63
	sData98.open = 47911.11
	sData98.date = 1613433600.0
	securityDatas.append(sData98)
	sData99 = SecurityData()
	sData99.volume = 84886.224046
	sData99.close = 52119.72
	sData99.high = 52618.75
	sData99.low = 48947.01
	sData99.open = 49133.46
	sData99.date = 1613520000.0
	securityDatas.append(sData99)
	sData100 = SecurityData()
	sData100.volume = 58093.930825
	sData100.close = 51552.61
	sData100.high = 52530.01
	sData100.low = 50901.91
	sData100.open = 52117.68
	sData100.date = 1613606400.0
	securityDatas.append(sData100)

	chart = findViewByName("Chart", gPaint.views)
	global tChart
	tChart = chart
	chart.leftVScaleWidth = 80
	chartToBlack(chart)
	chart.cycle = "day"
	tabPage2 = findViewByName("TabPage2", gPaint.views)
	tabPage3 = findViewByName("TabPage3", gPaint.views)
	chart.rightVScaleWidth = 80
	chart.data = securityDatas
	chart.mainIndicator = "BOLL" #主图指标
	chart.showIndicator = "BIAS" #显示指标
	resetChartVisibleRecord(chart)
	checkChartLastVisibleIndex(chart)
	calcChartIndicator(chart)
	indLayout = FCLayoutDiv()
	indLayout.dock = "fill"
	indLayout.autoWrap = True
	indLayout.backColor = "rgb(0,0,0)"
	addViewToParent(indLayout, tabPage2)
	indicators = []
	indicators.append("MA")
	indicators.append("BOLL")
	indicators.append("MACD")
	indicators.append("KDJ")
	indicators.append("BIAS")
	indicators.append("BBI")
	indicators.append("RSI")
	indicators.append("ROC")
	indicators.append("WR")
	indicators.append("DMA")
	indicators.append("TRIX")
	indicators.append("CCI")
	for i in range(0, len(indicators)):
		button = FCButton()
		button.text = indicators[i]
		button.viewName = "Indicator"
		button.size = FCSize(100, 50)
		button.margin = FCPadding(10, 10, 10, 10)
		button.location = FCPoint(0, 0)
		button.backColor = "rgb(50,50,50)"
		button.textColor = "rgb(255,255,255)"
		addViewToParent(button, indLayout)

	indLayout2 = FCLayoutDiv()
	indLayout2.dock = "fill"
	indLayout2.autoWrap = True
	indLayout2.backColor = "rgb(0,0,0)"
	addViewToParent(indLayout2, tabPage3)

	plots = []
	plots.append("Line")
	plots.append("Segment")
	plots.append("Ray")
	plots.append("Triangle")
	plots.append("Rect")
	plots.append("Cycle")
	plots.append("CircumCycle")
	plots.append("Ellipse")
	plots.append("AngleLine")
	plots.append("LRLine")
	plots.append("LRChannel")
	plots.append("SymmetricTriangle")
	plots.append("LRBand")
	plots.append("ParalleGram")
	plots.append("SpeedResist")
	plots.append("FiboFanline")
	plots.append("FiboTimezone")
	plots.append("Percent")
	plots.append("BoxLine")
	plots.append("TironeLevels")
	plots.append("QuadrantLines")
	plots.append("Parallel")
	plots.append("GoldenRatio")
	plots.append("ArrowSegment")
	for i in range(0,len(plots)):
		button2 = FCButton()
		button2.text = plots[i]
		button2.viewName = "Plot"
		button2.size = FCSize(100, 50)
		button2.margin = FCPadding(10, 10, 10, 10)
		button2.location = FCPoint(0, 0)
		button2.backColor = "rgb(50,50,50)"
		button2.textColor = "rgb(255,255,255)"
		addViewToParent(button2, indLayout2)
	updateViewDefault(gPaint.views)

def main():
  global gPaint
  app = QApplication(sys.argv)  
  scene = QGraphicsScene()  
  uiView = FCUIView()
  view = FCGraphicsView(scene) 
  view.paintObj = gPaint
  view.onLoad()
  view.setGeometry(0, 0, 1800, 1800)
  view.setAlignment(Qt.AlignLeft | Qt.AlignTop)
  uiView.graphicsView = view
  view.objectItem = uiView
  loadXml()
  scene.addItem(uiView)   
  # 显示视图  
  view.show()  
  sys.exit(app.exec())
if __name__ == '__main__':
	main()